package com.wrb.pwd.component;

import com.wrb.pwd.constant.Constant;
import com.wrb.pwd.utils.MD5Utils;

import javax.swing.*;
import java.awt.*;

/**
 * @author wrb
 * @date 2019/10/8 14:48
 */
public class PasswordCheckDialog extends JDialog {

	private int state;

	public int getReturnStatus() {
		return state;
	}

	public PasswordCheckDialog(Component parentComponent) {
		super((Frame) null, "输入密码", true);

		// 设置对话框的宽高
		this.setSize(265, 120);
		// 设置对话框大小不可改变
		this.setResizable(false);
		// 设置对话框相对显示的位置
		this.setLocationRelativeTo(parentComponent);

		// 创建一个标签显示消息内容
		JLabel messageLabel = new JLabel("请输入密码");
		JPasswordField passwordField = new JPasswordField();

		// 创建一个按钮用于关闭对话框
		JButton okBtn = new JButton("确定");
		JButton cancelBtn = new JButton("取消");
		okBtn.addActionListener(e -> {
			String password = String.valueOf(passwordField.getPassword());
			//md5 加密
			password = MD5Utils.md5(password);
			if (!Constant.password.equals(password)) {
				JOptionPane.showMessageDialog(this, "密码错误", "密码校验", JOptionPane.INFORMATION_MESSAGE);
				return;
			}
			this.state = 1;
			this.dispose();
		});
		cancelBtn.addActionListener(e -> this.dispose());

		messageLabel.setBounds(20, 20, 80, 25);
		passwordField.setBounds(90, 20, 120, 25);
		okBtn.setBounds(60, 60, 60, 25);
		cancelBtn.setBounds(130, 60, 60, 25);

		// 创建对话框的内容面板, 在面板内可以根据自己的需要添加任何组件并做任意是布局
		JPanel panel = new JPanel(null);

		// 添加组件到面板
		panel.add(messageLabel);
		panel.add(passwordField);
		panel.add(okBtn);
		panel.add(cancelBtn);

		// 设置对话框的内容面板
		this.setContentPane(panel);
		//设置模式 dialog关闭后才能获取state的值
		this.setModal(true);
		// 显示对话框
		this.setVisible(true);
	}

}
